	org 32752
__START_PROGRAM:
	di
	push ix
	push iy
	exx
	push hl
	exx
	ld hl, 0
	add hl, sp
	ld (__CALL_BACK__), hl
	ei
#line 0
		defw $aa55,0,$7000,0,0,startboot
		defw 0,0,0,0,0,0,0,0,0,0,0
		push af
		in a, ($bf)
		pop af
		ei
		reti
startboot:
#line 8
	jp __LABEL__start
__LABEL__map01:
#line 3
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111
		defb %11111111,%11100000,%00000111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111110,%01111111
		defb %11111000,%00000000,%00000000,%11111111,%11111000,%11110000,%00000000,%11111111,%11111000,%01111111,%11111000,%00111111,%11111000,%00111111,%11111000,%00011111
		defb %11110000,%00000000,%00000000,%00000001,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00001111,%11110000,%00001111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111,%10000000,%00001111,%11110000,%00001111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00001111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00001111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000000,%00110000,%00011111,%11110000,%00011111,%11110000,%00011111
		defb %11111000,%00111111,%11111000,%00000000,%00000000,%00111000,%00000000,%00001111,%11111000,%00000000,%00111000,%00111111,%11111000,%00111111,%11111000,%00111111
		defb %11111111,%11111111,%11111111,%11111111,%11111000,%01111000,%00000000,%00011111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111000,%01111110,%00000000,%01111111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111000,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111000,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111000,%01111111,%11111110,%01111111,%11111000,%01111111,%11111111,%11111111,%11111000,%00111111,%11111000,%01111111
		defb %11111000,%11111111,%11111000,%11111111,%11111000,%01111111,%11111000,%00111111,%11111000,%00111111,%11111000,%11111111,%11111000,%00111111,%11111000,%01111111
		defb %11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11111000,%00001100,%00000000,%00011111
		defb %11110000,%00001111,%11110000,%00000011,%11110000,%00001111,%11110000,%00001111,%11100000,%00001110,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000111,%11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111
		defb %11110000,%00000000,%00000000,%00011111,%11110000,%00000111,%11110000,%00011111,%11110000,%00011111,%11100000,%00000000,%00000000,%00001111,%11110000,%00011111
		defb %11111000,%00000000,%00000000,%00111111,%11111000,%00000111,%11111000,%00111111,%11111000,%00111111,%11100000,%00001111,%11111100,%00011111,%11111000,%00111111
		defb %11111100,%00001111,%11111111,%11111111,%11111110,%00000111,%11111100,%01111111,%11111111,%11111111,%11100000,%00011111,%11111100,%00111111,%11111111,%11111111
		defb %11111100,%00011111,%11111111,%11111111,%11111110,%00000111,%11111100,%01111111,%11111111,%11111111,%11000000,%00111111,%11111100,%00111111,%11111111,%11111111
		defb %11111100,%00111111,%11111111,%11111111,%11111110,%00001111,%11111100,%01111111,%11111111,%11111111,%11000000,%00111111,%11111100,%00111111,%11111111,%11111111
		defb %11111000,%00111111,%11111111,%11111111,%11111110,%00001111,%11111100,%11111111,%11111111,%11111111,%11000000,%00111111,%11111100,%00111111,%11111111,%11111111
		defb %11111100,%01111111,%11111111,%11111111,%11111110,%00001111,%11111100,%01111111,%11111111,%11111111,%11000000,%00111111,%11111100,%00111111,%11111110,%01111111
		defb %11111000,%01111111,%11111000,%11111111,%11111000,%00001111,%11111000,%01111111,%11111000,%11111111,%11000000,%00111111,%11111000,%00111111,%11111000,%00011111
		defb %11110000,%00011111,%11110000,%00011111,%11110000,%00001111,%11110000,%00011111,%11110000,%00011111,%11000000,%00011111,%11110000,%00011111,%11110000,%00011111
		defb %11110000,%00001111,%11110000,%00001111,%11110000,%00001111,%11110000,%00000000,%00000000,%00001111,%11100000,%00001111,%11110000,%00001111,%11110000,%00001111
		defb %11100000,%00001111,%11100000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00001111,%11100000,%00001111
		defb %11110000,%00001111,%11110000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111,%11110000,%00001111
		defb %11110000,%00011111,%11110000,%00000000,%00000000,%00011111,%11110000,%00000000,%01110000,%00001111,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111
		defb %11111000,%00111111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111,%11110000,%00001111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111
		defb %11111100,%01111111,%11111111,%11110000,%00111111,%11111111,%11111111,%11111111,%11110000,%00001111,%11111111,%11000000,%01111111,%11111111,%11111100,%00111111
		defb %11111100,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11110000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%00111111
		defb %11111100,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11110000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%00111111
		defb %11111100,%01111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11110000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%00111111
		defb %11111100,%00111111,%11111111,%11111111,%11111111,%11111111,%11111110,%00011111,%11110000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%00111111
		defb %11111000,%00111111,%11111000,%11111111,%11111000,%00000000,%00000000,%00011111,%11110000,%00001111,%11111111,%11111111,%11111000,%11111111,%11111100,%00111111
		defb %11110000,%00000000,%00000000,%00011111,%11110000,%00000000,%00000000,%00011111,%11100000,%00001111,%11111111,%11111111,%11110000,%00011111,%11111000,%00001111
		defb %11110000,%00000000,%00000000,%00000000,%00110000,%00000000,%00000000,%00001100,%00000000,%00000000,%00000000,%00011111,%11110000,%00001111,%11110000,%00000111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00000111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00001110,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00000111
		defb %11110000,%00011111,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111,%11000000,%00000000,%00000000,%00011111,%11100000,%00000000,%00001000,%00001111
		defb %11111000,%00111111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111,%11111000,%00000011,%11111111,%11111111,%11110000,%00001110,%00001100,%00011111
		defb %11111111,%11111111,%11111111,%11111111,%11001111,%11111111,%11111100,%00001111,%11111000,%00000111,%11111111,%11111111,%11110001,%11111111,%11111100,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111100,%00001111,%11111000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111100,%00001111,%11111000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%01111111
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111110,%00001111,%11111000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%11111111
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111110,%00001111,%11111000,%00001111,%11111111,%11111111,%11111111,%11111111,%11111100,%11111111
		defb %11111000,%11111111,%11111000,%00000011,%11111000,%11111111,%11111000,%00000111,%11111000,%00000111,%11111000,%11111111,%11111000,%11111111,%11111000,%01111111
		defb %11110000,%00000000,%00000000,%00000000,%00010000,%00011111,%11110000,%00000111,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111,%11110000,%00011111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00001111,%11110000,%00000000,%00000000,%00001111,%11110000,%00001110,%00000000,%00001111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00001111,%11100000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00001111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00001111,%11110000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111
		defb %11000000,%00010000,%00000000,%00000000,%00000000,%00001111,%11110000,%00011111,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111,%11110000,%00000011
		defb %11000000,%00111111,%11111000,%00000011,%11110000,%00000111,%11111000,%00111111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111,%11111000,%00000011
		defb %11000000,%01111111,%11111111,%11111111,%11111000,%00000111,%11111111,%11111111,%11111000,%00000111,%11111111,%11111111,%11111000,%01111111,%11111110,%00000111
		defb %11000000,%01111111,%11111111,%11111111,%11110000,%00000111,%11111111,%11111111,%11111000,%00001111,%11111111,%11111111,%11111000,%01111111,%11111110,%00000111
		defb %11000000,%01111111,%11111111,%11111111,%11111000,%00000111,%11111111,%11111111,%11110000,%00001111,%11111111,%11111111,%11111100,%01111111,%11111110,%00000111
		defb %11000000,%11111111,%11111111,%11111111,%11111000,%00000111,%11111111,%11111111,%11110000,%00001111,%11111111,%11111111,%11111100,%01111111,%11111110,%00000111
		defb %11000000,%11111111,%11111111,%00011111,%11111000,%00000111,%11111111,%11111111,%11100000,%00001111,%11111111,%11111111,%11111100,%01111111,%11111100,%00000111
		defb %11100000,%11111111,%11100000,%00001111,%11111000,%00000111,%11111000,%11111111,%11000000,%00000111,%11111000,%11111111,%11111000,%11111111,%11111100,%00000111
		defb %11100000,%00011111,%11000000,%00000111,%11110000,%00001111,%11110000,%00011111,%00000000,%00000111,%11110000,%00011111,%11110000,%00011111,%11111000,%00000111
		defb %11100000,%00001111,%00000000,%00000111,%11110000,%00001111,%11110000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00001111,%11111000,%00000111
		defb %11100000,%00000000,%00000000,%00000111,%11100000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00001111,%11110000,%00000111
		defb %11100000,%00000000,%00000000,%00000111,%11100000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00001111,%11110000,%00000111
		defb %11110000,%00000000,%00000000,%00000111,%11100000,%00011111,%11100000,%00000111,%11100000,%00000000,%00000000,%00011111,%11110000,%00011111,%11110000,%00001111
		defb %11110000,%00000011,%11111000,%00000111,%11100000,%00111111,%11100000,%00111111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111,%11110000,%00011111
		defb %11111100,%00111111,%11111110,%00000111,%11100000,%00111111,%11100000,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111,%11110000,%01111111
		defb %11111111,%11111111,%11111110,%00000111,%11100000,%00111111,%11100000,%11111111,%11111111,%11111111,%11111100,%01111111,%11111000,%01111111,%11110000,%01111111
		defb %11111111,%11111111,%11111110,%00000111,%11100000,%00111111,%11100000,%11111111,%11111111,%11111111,%11111100,%00111111,%11111000,%01111111,%11110000,%01111111
		defb %11111111,%11111111,%11111110,%00001111,%11100000,%00111111,%11100000,%11111111,%11111111,%11111111,%11111100,%00111111,%11111000,%01111111,%11100000,%01111111
		defb %11111111,%11111111,%11111110,%00001111,%11100000,%00111111,%11100000,%11111111,%11111111,%11111111,%11111100,%00111111,%11111000,%01111111,%11100000,%01111111
		defb %11111000,%11000000,%00001000,%00001111,%11100000,%00111111,%11110000,%11111111,%11111000,%11111111,%11111000,%00111111,%11111000,%01111111,%11100000,%01111111
		defb %11110000,%00000000,%00000000,%00001111,%11100000,%00000111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111,%11100000,%00011111
		defb %11110000,%00000000,%00000000,%00001111,%11100000,%00000001,%11110000,%00001111,%11110000,%00001111,%11110000,%00001111,%11110000,%00001111,%11100000,%00001111
		defb %11100000,%00000000,%00000000,%00001111,%11100000,%00000000,%00100000,%00001111,%11100000,%00001111,%11100000,%00001111,%11100000,%00001111,%11100000,%00001111
		defb %11100000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111,%11100000,%00001111,%11110000,%00001111,%11110000,%00001111,%11110000,%00001111
		defb %11100000,%00011111,%00000000,%00011111,%11110000,%00000000,%00000000,%00011111,%11100000,%00011111,%11110000,%00011111,%11110000,%00011111,%11110000,%00011111
		defb %11100000,%00111111,%11100000,%00111111,%11111000,%00000000,%00000000,%00111111,%11100000,%00111111,%11111000,%00111111,%11111000,%00111111,%11111000,%00111111
		defb %11000000,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11100000,%01111111,%11110000,%00111111,%11111100,%01111111,%11111000,%01111111
		defb %11000000,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11100000,%01111111,%11110000,%00111111,%11111100,%01111111,%11111000,%01111111
		defb %11000000,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11100000,%01111111,%11110000,%01111111,%11111100,%01111111,%11110000,%01111111
		defb %11000000,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11100000,%01111111,%11110000,%01111111,%11111100,%00111111,%11110000,%01111111
		defb %11100000,%11111111,%11111111,%11111111,%11100000,%00000111,%11111111,%11111111,%11100000,%00111111,%11100000,%01111111,%11111100,%00111111,%11110000,%01111111
		defb %11100000,%11111111,%11111000,%00000000,%00000000,%00000111,%11111000,%11111111,%11100000,%00111111,%11100000,%01111111,%11111000,%00111111,%11110000,%01111111
		defb %11100000,%00011111,%11110000,%00000000,%00000000,%00000111,%11110000,%00011111,%11100000,%00011111,%11000000,%00011111,%11100000,%00011111,%11110000,%00001111
		defb %11100000,%00001111,%11110000,%00000000,%00000000,%00000011,%11110000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000111
		defb %11100000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11100000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00001111,%11110000,%00000000,%00000000,%00001111,%00000000,%00001111,%11111000,%00000111
		defb %11110000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00011111,%11110000,%00000000,%00000000,%00011111,%11110000,%00011111,%11111000,%00001111
		defb %11111000,%00000000,%00000000,%00111111,%11111000,%00000000,%00000000,%00111111,%11111000,%00111111,%11111000,%00111111,%11111000,%00111111,%11111100,%00011111
		defb %11111111,%00000000,%00001111,%11111111,%11111111,%11110000,%00000111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111
		defb %11111111,%00001111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111
		defb %11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111,%11111111
#line 99
	jp __LABEL__end01
__LABEL__charmap01:
#line 3
		defb $00,$00,$00,$00,$00,$00,$00,$00
		defb $30,$78,$78,$30,$30,$00,$30,$00
		defb $6C,$6C,$6C,$00,$00,$00,$00,$00
		defb $6C,$6C,$FE,$6C,$FE,$6C,$6C,$00
		defb $30,$7C,$C0,$78,$0C,$F8,$30,$00
		defb $00,$C6,$CC,$18,$30,$66,$C6,$00
		defb $38,$6C,$38,$76,$DC,$CC,$76,$00
		defb $60,$60,$C0,$00,$00,$00,$00,$00
		defb $18,$30,$60,$60,$60,$30,$18,$00
		defb $60,$30,$18,$18,$18,$30,$60,$00
		defb $00,$66,$3C,$FF,$3C,$66,$00,$00
		defb $00,$30,$30,$FC,$30,$30,$00,$00
		defb $00,$00,$00,$00,$00,$70,$30,$60
		defb $00,$00,$00,$FC,$00,$00,$00,$00
		defb $00,$00,$00,$00,$00,$30,$30,$00
		defb $06,$0C,$18,$30,$60,$C0,$80,$00
		defb $78,$CC,$DC,$FC,$EC,$CC,$78,$00
		defb $30,$F0,$30,$30,$30,$30,$FC,$00
		defb $78,$CC,$0C,$38,$60,$CC,$FC,$00
		defb $78,$CC,$0C,$38,$0C,$CC,$78,$00
		defb $1C,$3C,$6C,$CC,$FE,$0C,$0C,$00
		defb $FC,$C0,$F8,$0C,$0C,$CC,$78,$00
		defb $38,$60,$C0,$F8,$CC,$CC,$78,$00
		defb $FC,$CC,$0C,$18,$30,$60,$60,$00
		defb $78,$CC,$CC,$78,$CC,$CC,$78,$00
		defb $78,$CC,$CC,$7C,$0C,$18,$70,$00
		defb $00,$00,$30,$30,$00,$30,$30,$00
		defb $00,$00,$30,$30,$00,$70,$30,$60
		defb $18,$30,$60,$C0,$60,$30,$18,$00
		defb $00,$00,$FC,$00,$FC,$00,$00,$00
		defb $60,$30,$18,$0C,$18,$30,$60,$00
		defb $78,$CC,$0C,$18,$30,$00,$30,$00
		defb $7C,$C6,$DE,$DE,$DE,$C0,$78,$00
		defb $30,$78,$CC,$CC,$FC,$CC,$CC,$00
		defb $FC,$66,$66,$7C,$66,$66,$FC,$00
		defb $3C,$66,$C0,$C0,$C0,$66,$3C,$00
		defb $FC,$6C,$66,$66,$66,$6C,$FC,$00
		defb $FE,$62,$68,$78,$68,$62,$FE,$00
		defb $FE,$62,$68,$78,$68,$60,$F0,$00
		defb $3C,$66,$C0,$C0,$CE,$66,$3E,$00
		defb $CC,$CC,$CC,$FC,$CC,$CC,$CC,$00
		defb $78,$30,$30,$30,$30,$30,$78,$00
		defb $1E,$0C,$0C,$0C,$CC,$CC,$78,$00
		defb $E6,$66,$6C,$78,$6C,$66,$E6,$00
		defb $F0,$60,$60,$60,$62,$66,$FE,$00
		defb $C6,$EE,$FE,$D6,$C6,$C6,$C6,$00
		defb $C6,$E6,$F6,$DE,$CE,$C6,$C6,$00
		defb $38,$6C,$C6,$C6,$C6,$6C,$38,$00
		defb $FC,$66,$66,$7C,$60,$60,$F0,$00
		defb $78,$CC,$CC,$CC,$DC,$78,$1C,$00
		defb $FC,$66,$66,$7C,$78,$6C,$E6,$00
		defb $78,$CC,$E0,$38,$1C,$CC,$78,$00
		defb $FC,$B4,$30,$30,$30,$30,$78,$00
		defb $CC,$CC,$CC,$CC,$CC,$CC,$FC,$00
		defb $CC,$CC,$CC,$CC,$CC,$78,$30,$00
		defb $C6,$C6,$C6,$D6,$FE,$EE,$C6,$00
		defb $C6,$C6,$6C,$38,$6C,$C6,$C6,$00
		defb $CC,$CC,$CC,$78,$30,$30,$78,$00
		defb $FE,$CC,$98,$30,$62,$C6,$FE,$00
		defb $78,$60,$60,$60,$60,$60,$78,$00
		defb $C0,$60,$30,$18,$0C,$06,$02,$00
		defb $78,$18,$18,$18,$18,$18,$78,$00
		defb $10,$38,$6C,$C6,$00,$00,$00,$00
		defb $00,$00,$00,$00,$00,$00,$00,$FF
		defb $38,$00,$00,$00,$00,$00,$00,$00
		defb $F8,$48,$40,$3C,$3C,$00,$1C,$1C
		defb $00,$00,$FF,$FF,$87,$FF,$FF,$71
		defb $03,$FF,$FF,$3F,$FF,$FF,$FF,$F8
		defb $FF,$87,$D3,$FF,$07,$93,$00,$00
		defb $FF,$FF,$FF,$FF,$F0,$00,$00,$F0
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00
		defb $1C,$FF,$1F,$3F,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FC,$FF,$FF,$FF,$FF,$FF
		defb $0F,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $C1,$C1,$00,$C1,$C1,$C1,$E1,$F1
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FC,$FC,$FC,$FC,$FF,$FF,$FF
		defb $76,$00,$02,$00,$00,$12,$C3,$3F
		defb $00,$70,$7F,$3F,$03,$00,$00,$FC
		defb $00,$00,$00,$FD,$F3,$60,$00,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$87
		defb $F9,$FF,$80,$00,$CA,$A8,$B2,$07
		defb $FF,$FF,$FF,$00,$70,$00,$00,$78
		defb $C1,$FF,$3F,$3F,$1F,$1F,$1F,$0F
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $E0,$F0,$FF,$FF,$FF,$FF,$FF,$FF
		defb $37,$00,$C9,$41,$73,$FF,$FF,$3F
		defb $C0,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $00,$91,$C3,$FF,$FF,$FF,$FC,$FF
		defb $FF,$FF,$E9,$F0,$C0,$E8,$E4,$E6
		defb $FF,$FF,$FF,$FF,$FF,$7F,$FF,$1F
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00
		defb $FF,$3E,$7C,$FF,$C8,$A0,$00,$00
		defb $00,$E0,$00,$00,$00,$00,$03,$1F
		defb $00,$00,$00,$FF,$7C,$3C,$34,$00
		defb $FF,$78,$00,$00,$00,$00,$00,$00
		defb $FF,$FF,$1C,$FF,$22,$1B,$1F,$FF
		defb $DF,$DF,$FF,$FF,$FF,$FF,$D0,$FF
		defb $FF,$FF,$1F,$00,$00,$00,$00,$13
		defb $FF,$FF,$77,$C1,$00,$00,$00,$00
		defb $7F,$FF,$FF,$00,$0C,$04,$00,$0E
		defb $FF,$FF,$E3,$83,$03,$83,$00,$FE
		defb $D8,$FF,$FF,$FF,$F9,$FF,$F3,$F0
		defb $0F,$A0,$FF,$FF,$91,$10,$F3,$FF
		defb $FF,$78,$FF,$FF,$FF,$FF,$F8,$F8
		defb $00,$00,$F9,$68,$E9,$FF,$FF,$FF
		defb $00,$3E,$FF,$FF,$FF,$FF,$FF,$FF
		defb $0C,$00,$C4,$0B,$FF,$FF,$FF,$FF
		defb $3F,$FF,$FF,$FF,$F8,$1F,$00,$40
		defb $FF,$FF,$FC,$1F,$1F,$FF,$1F,$18
		defb $FF,$FF,$FF,$C3,$FF,$FF,$8F,$F8
		defb $FF,$FF,$FF,$FF,$1F,$38,$FF,$1F
		defb $07,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $E0,$F0,$F0,$E0,$F8,$F0,$F0,$F0
		defb $FF,$FF,$FF,$42,$00,$23,$00,$00
		defb $F3,$E3,$FF,$C3,$03,$E1,$24,$1F
		defb $6B,$FF,$79,$FF,$CD,$B5,$FF,$FF
		defb $0A,$03,$27,$FF,$FF,$E6,$FF,$FF
		defb $F0,$F0,$F8,$F0,$E0,$70,$E0,$00
		defb $00,$06,$06,$0E,$00,$00,$1E,$FF
		defb $07,$07,$0F,$0F,$1F,$FF,$FC,$1C
		defb $FF,$FF,$FF,$FF,$FF,$E7,$FF,$FF
		defb $80,$00,$01,$00,$00,$00,$61,$31
		defb $87,$87,$83,$83,$83,$83,$83,$83
		defb $00,$E1,$C0,$00,$00,$C0,$C0,$00
		defb $1E,$1E,$1E,$1F,$0F,$0F,$0F,$0B
		defb $00,$FF,$FF,$FF,$FF,$7C,$FC,$7C
		defb $00,$FF,$FF,$FF,$FF,$00,$3A,$00
		defb $3F,$FF,$FF,$FF,$FF,$00,$4B,$00
		defb $FF,$FF,$FF,$FF,$FF,$00,$00,$00
		defb $FF,$FF,$F0,$F0,$F0,$00,$00,$00
		defb $FF,$FF,$09,$00,$04,$00,$00,$00
		defb $FF,$FF,$0C,$0C,$16,$00,$00,$00
		defb $FF,$FF,$10,$11,$11,$48,$CE,$06
		defb $00,$00,$00,$FF,$FF,$10,$1C,$1C
		defb $FF,$FF,$FF,$F8,$FF,$00,$3D,$19
		defb $C0,$00,$FF,$FF,$7F,$10,$B4,$BC
		defb $FF,$FF,$FF,$FF,$FF,$00,$00,$38
		defb $FF,$FF,$FF,$FF,$FF,$00,$00,$02
		defb $FF,$FF,$FF,$FF,$FF,$00,$00,$60
		defb $E8,$8F,$80,$FF,$FF,$00,$00,$C0
		defb $1D,$C7,$00,$87,$F0,$47,$02,$02
		defb $9F,$00,$8F,$00,$90,$FF,$FF,$FF
		defb $00,$3E,$00,$10,$00,$FF,$FF,$FF
		defb $60,$3E,$FF,$07,$07,$FF,$FF,$FF
		defb $00,$70,$E0,$F0,$00,$E3,$C7,$C7
		defb $17,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $5F,$FF,$FF,$FF,$DC,$C4,$2E,$3C
		defb $FF,$B7,$FF,$FF,$FF,$FF,$67,$79
		defb $FF,$F0,$F5,$4F,$FF,$FF,$77,$FF
		defb $C0,$00,$C0,$C0,$80,$80,$80,$00
		defb $0C,$1E,$3E,$1E,$0E,$3F,$07,$66
		defb $00,$3C,$3C,$3C,$3C,$7C,$FF,$7C
		defb $34,$70,$20,$01,$00,$00,$01,$00
		defb $19,$00,$07,$00,$83,$C3,$E0,$E3
		defb $83,$83,$83,$83,$83,$83,$83,$E3
		defb $00,$00,$00,$C0,$00,$00,$00,$C0
		defb $EB,$F9,$F9,$F9,$FC,$FC,$FC,$FC
		defb $7C,$FF,$FC,$FE,$FC,$FC,$FC,$FC
		defb $00,$00,$00,$07,$07,$07,$0F,$00
		defb $00,$00,$00,$F0,$FF,$FF,$FF,$63
		defb $00,$00,$00,$00,$F8,$FE,$FF,$FF
		defb $00,$00,$00,$00,$00,$FF,$00,$D9
		defb $00,$00,$00,$00,$FF,$D0,$50,$3F
		defb $00,$00,$00,$FF,$CE,$46,$26,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $1C,$19,$00,$00,$00,$00,$08,$08
		defb $01,$87,$07,$07,$07,$07,$07,$07
		defb $38,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $78,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $00,$00,$30,$30,$22,$00,$00,$00
		defb $FF,$FF,$F0,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$13,$FF,$FF,$FF,$FF,$FF
		defb $00,$00,$00,$08,$00,$00,$00,$00
		defb $FF,$FF,$FF,$00,$FF,$D6,$00,$EA
		defb $FF,$FF,$FF,$07,$B7,$07,$37,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
		defb $FF,$FF,$F8,$00,$CC,$0C,$00,$00
		defb $FF,$0F,$0F,$07,$07,$03,$03,$03
		defb $80,$80,$DD,$8C,$84,$C7,$C7,$C7
		defb $79,$39,$FF,$BE,$00,$8C,$C6,$FF
		defb $FF,$FF,$FF,$FF,$FF,$0F,$27,$0F
		defb $F0,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $7E,$FF,$FC,$FF,$F0,$FF,$FF,$FF
		defb $FC,$FC,$FC,$FC,$FF,$FF,$FF,$FF
		defb $00,$FA,$FF,$FF,$FF,$FF,$FF,$FF
		defb $E0,$F0,$F0,$F0,$F0,$F0,$F0,$F0
		defb $F3,$9F,$00,$A3,$63,$C3,$07,$07
		defb $00,$D0,$FF,$FF,$C7,$C7,$CF,$FF
		defb $FF,$FF,$74,$14,$1C,$0C,$CC,$FF
		defb $FC,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $1C,$FF,$FF,$FF,$FF,$E0,$FF,$FF
		defb $FF,$FF,$FF,$FF,$E3,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FC,$FF,$FF,$2B,$FF
		defb $FF,$AE,$CA,$BC,$E7,$E7,$A7,$E7
		defb $FF,$FC,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$CD
		defb $FF,$FF,$FF,$FF,$FF,$76,$F0,$00
		defb $FF,$FF,$FF,$FF,$FF,$1C,$00,$00
		defb $FF,$00,$C4,$00,$FF,$00,$00,$00
		defb $FF,$00,$00,$00,$F8,$E8,$00,$00
		defb $FF,$FF,$FF,$FF,$FF,$00,$00,$00
		defb $FF,$FF,$FE,$FF,$FF,$9C,$00,$00
		defb $FF,$00,$60,$F0,$E0,$00,$00,$30
		defb $00,$00,$00,$00,$00,$00,$00,$00
		defb $00,$20,$FF,$FF,$FF,$FF,$FF,$FF
		defb $00,$42,$FF,$FF,$FF,$FF,$FF,$FF
		defb $60,$FF,$FF,$F8,$F8,$FF,$FF,$0A
		defb $F8,$00,$00,$00,$00,$14,$00,$00
		defb $8D,$01,$01,$01,$49,$ED,$E1,$00
		defb $C7,$FF,$FF,$FF,$FF,$FF,$FE,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$1D,$1C
		defb $C7,$E1,$F1,$F0,$F0,$FF,$FF,$E7
		defb $FF,$FF,$FF,$FF,$3F,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FF,$FE,$FC,$FF,$FF
		defb $FF,$FF,$3F,$5F,$DF,$3F,$07,$1C
		defb $F0,$FF,$FF,$F8,$F8,$FE,$FF,$FC
		defb $07,$00,$FF,$FF,$FF,$FF,$FF,$FF
		defb $FF,$FF,$FF,$FD,$FF,$00,$C1,$C1
		defb $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
#line 227
__LABEL__attr9918mode0v01:
#line 307
		defb $1B,$1B,$1B,$5B
		defb $1B,$1B,$1B,$1B
		defb $1B,$1B,$1B,$1B
		defb $14,$E4,$15,$F5
		defb $16,$16,$16,$16
		defb $16,$E6,$F8,$F1
		defb $FB,$18,$B8,$A6
		defb $1A,$1B,$1E,$1E
#line 315
__LABEL__attr01testzx01:
__LABEL__end01:
__LABEL__sprites01:
#line 3
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000111
		defb %00000011
		defb %00000001
		defb %00000110
		defb %00000011
		defb %00000110
		defb %00000101
		defb %01100111
		defb %10111010
		defb %01110010
		defb %10001100
		defb %10101011
		defb %10001110
		defb %01110000
		defb %01100000
		defb %00000000
		defb %10000000
		defb %11100000
		defb %10010000
		defb %10011110
		defb %10100011
		defb %10011110
		defb %10111000
		defb %00000100
		defb %00000100
		defb %00000100
		defb %00001111
		defb %11111000
		defb %00001111
		defb %00000000
		defb %00000000
		defb %11000000
		defb %00100000
		defb %00010000
		defb %11111000
		defb %00001000
		defb %11111100
		defb %00100000
		defb %01000000
		defb %11000100
		defb %00000011
		defb %00000000
		defb %00000000
		defb %00000001
		defb %00000010
		defb %00000101
		defb %00000001
		defb %00100100
		defb %01000011
		defb %11000011
		defb %01100011
		defb %10010101
		defb %10001001
		defb %01000001
		defb %00000001
		defb %10000000
		defb %00000000
		defb %00000000
		defb %11000000
		defb %10110000
		defb %01000000
		defb %00100000
		defb %00000000
		defb %11000100
		defb %00000010
		defb %00000001
		defb %00111110
		defb %00001100
		defb %00010100
		defb %00000100
		defb %00000000
		defb %00000000
		defb %01000111
		defb %10000001
		defb %11100010
		defb %00010100
		defb %00001000
		defb %00000000
		defb %00000000
		defb %10000000
		defb %00011000
		defb %11100000
		defb %01111000
		defb %00100000
		defb %00010000
		defb %00000000
		defb %00000000
		defb %11100110
		defb %01011101
		defb %01001110
		defb %00110001
		defb %11010101
		defb %01110001
		defb %00001110
		defb %00000110
		defb %00000000
		defb %11100000
		defb %11000000
		defb %10000000
		defb %01100000
		defb %11000000
		defb %01100000
		defb %10100000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000011
		defb %00000100
		defb %00001000
		defb %00011111
		defb %00010000
		defb %00111111
		defb %00000100
		defb %00000010
		defb %00100000
		defb %00100000
		defb %00100000
		defb %11110000
		defb %00011111
		defb %11110000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000001
		defb %00000111
		defb %00001001
		defb %01111001
		defb %11000101
		defb %01111001
		defb %00011101
		defb %00000001
		defb %00000000
		defb %00000000
		defb %00000011
		defb %00001101
		defb %00000010
		defb %00000100
		defb %00000000
		defb %00100100
		defb %11000010
		defb %11000011
		defb %11000110
		defb %10101001
		defb %10010001
		defb %10000010
		defb %10000000
		defb %00100011
		defb %11000000
		defb %00000000
		defb %00000000
		defb %10000000
		defb %01000000
		defb %10100000
		defb %10000000
		defb %00000001
		defb %00011000
		defb %00000111
		defb %00011110
		defb %00000100
		defb %00001000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %11100010
		defb %10000001
		defb %01000111
		defb %00101000
		defb %00010000
		defb %00000000
		defb %00000000
		defb %00100011
		defb %01000000
		defb %10000000
		defb %01111100
		defb %00110000
		defb %00101000
		defb %00100000
		defb %00000000
		defb %00011110
		defb %00100001
		defb %01000000
		defb %10111000
		defb %11000000
		defb %10111000
		defb %10000000
		defb %11111000
		defb %00000000
		defb %10000000
		defb %01100000
		defb %00010000
		defb %00001000
		defb %00000100
		defb %00000010
		defb %00000010
		defb %10000011
		defb %01111100
		defb %01000000
		defb %01111111
		defb %00100000
		defb %00010011
		defb %00001100
		defb %00000011
		defb %00000001
		defb %01000001
		defb %10001001
		defb %00010010
		defb %00100010
		defb %11000100
		defb %00011000
		defb %11100000
		defb %00001000
		defb %01011100
		defb %11111000
		defb %01110001
		defb %00111011
		defb %00011111
		defb %00001110
		defb %00000111
		defb %00000000
		defb %00000000
		defb %00000000
		defb %00000000
		defb %10000000
		defb %00000000
		defb %00111000
		defb %01111100
		defb %00000011
		defb %00000001
		defb %00000011
		defb %00000011
		defb %00000011
		defb %00000001
		defb %00000000
		defb %00000000
		defb %11111110
		defb %11101111
		defb %11000111
		defb %10001111
		defb %11011110
		defb %11111100
		defb %11111000
		defb %01110000
#line 259
__LABEL__start:
__LABEL__start01:
	xor a
	push af
	xor a
	push af
	call _smsvdp
	ld a, 226
	push af
	ld a, 1
	push af
	call _smsvdp
	ld a, 6
	push af
	ld a, 2
	push af
	call _smsvdp
	ld a, 128
	push af
	ld a, 3
	push af
	call _smsvdp
	xor a
	push af
	ld a, 4
	push af
	call _smsvdp
	ld a, 54
	push af
	ld a, 5
	push af
	call _smsvdp
	ld a, 7
	push af
	ld a, 6
	push af
	call _smsvdp
	ld a, 49
	push af
	ld a, 7
	push af
	call _smsvdp
	ld hl, 16384
	push hl
	ld hl, 0
	push hl
	ld hl, 0
	push hl
	call _smsfilvrm
	ld hl, 256
	push hl
	ld hl, __LABEL__sprites01
	push hl
	ld hl, 0
	push hl
	call _smsldirvm
	ld hl, 1792
	push hl
	ld hl, __LABEL__charmap01
	push hl
	ld hl, 256
	push hl
	call _smsldirvm
	ld hl, 32
	push hl
	ld hl, __LABEL__attr9918mode0v01
	push hl
	ld hl, 8192
	push hl
	call _smsldirvm
	ld hl, 768
	push hl
	ld hl, 32
	push hl
	ld hl, 6144
	push hl
	call _smsfilvrm
	xor a
	ld (_debug), a
	ld hl, 520
	ld (_seed), hl
__LABEL__title:
	ld hl, 768
	push hl
	ld hl, 32
	push hl
	ld hl, 6144
	push hl
	call _smsfilvrm
	call __LABEL__displaytitle01
__LABEL0:
__LABEL__paus0a:
	call _cvjoypad1a
	push af
	ld h, 79
	pop af
	xor h
	push af
	call _cvjoypad2a
	push af
	ld h, 79
	pop af
	xor h
	ld h, a
	pop af
	or h
	ld (_boolbf), a
	call _cvjoypad1b
	push af
	ld h, 79
	pop af
	xor h
	push af
	call _cvjoypad2b
	push af
	ld h, 79
	pop af
	xor h
	ld h, a
	pop af
	or h
	ld h, a
	ld a, (_boolbf)
	or h
	ld (_boolbf), a
	ld h, 79
	ld a, (_boolbf)
	and h
	or a
	jp z, __LABEL3
	jp __LABEL__paus0aend
__LABEL3:
	jp __LABEL0
__LABEL1:
__LABEL__paus0aend:
__LABEL__gameplay:
	ld hl, 768
	push hl
	ld hl, 32
	push hl
	ld hl, 6144
	push hl
	call _smsfilvrm
	ld hl, 4
	ld (_xp), hl
	ld hl, 4
	ld (_yp), hl
	ld a, 16
	ld (_xs), a
	ld a, 12
	ld (_ys), a
	xor a
	ld (_ds), a
	xor a
	ld (_fs), a
	xor a
	ld (_kr), a
	xor a
	ld (_kg), a
	xor a
	ld (_kb), a
	xor a
	ld (_er), a
	xor a
	ld (_eg), a
	xor a
	ld (_eb), a
	call __LABEL__displaymap01
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL4:
__LABEL6:
	ld a, (_eg)
	add a, a
	ld h, a
	ld a, (_er)
	add a, h
	push af
	ld a, (_eb)
	add a, a
	add a, a
	ld h, a
	pop af
	add a, h
	sub 7
	or a
	jp z, __LABEL7
	call _cvjoypad1a
	push af
	ld h, 15
	pop af
	xor h
	push af
	call _cvjoypad2a
	push af
	ld h, 15
	pop af
	xor h
	ld h, a
	pop af
	or h
	push af
	ld h, 15
	pop af
	and h
	ld l, a
	ld h, 0
	ld (_jacum), hl
	ld de, 8
	ld hl, (_jacum)
	call __BAND16
	push hl
	ld de, 0
	pop hl
	or a
	sbc hl, de
	ld a, h
	or l
	push af
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	dec a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	push af
	ld a, (_ys)
	add a, 2
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	dec a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_xs)
	sub 1
	sbc a, a
	ld h, a
	pop af
	or h
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL9
	ld hl, 2
	push hl
	ld hl, 0
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
	ld a, (_xs)
	dec a
	ld (_xs), a
	ld a, 1
	ld (_ds), a
	ld h, 1
	ld a, (_fs)
	xor h
	ld (_fs), a
	ld h, 0
	ld a, (_xs)
	call __LTI8
	or a
	jp z, __LABEL11
	ld a, 29
	ld (_xs), a
	ld hl, (_xp)
	dec hl
	ld (_xp), hl
	call __LABEL__displaymap01
__LABEL11:
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL9:
	ld de, 2
	ld hl, (_jacum)
	call __BAND16
	push hl
	ld de, 0
	pop hl
	or a
	sbc hl, de
	ld a, h
	or l
	push af
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	add a, 3
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	push af
	ld a, (_ys)
	add a, 2
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	add a, 3
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_xs)
	sub 29
	sub 1
	sbc a, a
	ld h, a
	pop af
	or h
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL13
	ld hl, 2
	push hl
	ld hl, 0
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
	ld a, (_xs)
	inc a
	ld (_xs), a
	xor a
	ld (_ds), a
	ld h, 1
	ld a, (_fs)
	xor h
	ld (_fs), a
	ld a, 29
	ld hl, (_xs - 1)
	call __LTI8
	or a
	jp z, __LABEL15
	xor a
	ld (_xs), a
	ld hl, (_xp)
	inc hl
	ld (_xp), hl
	call __LABEL__displaymap01
__LABEL15:
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL13:
	ld de, 1
	ld hl, (_jacum)
	call __BAND16
	push hl
	ld de, 0
	pop hl
	or a
	sbc hl, de
	ld a, h
	or l
	push af
	ld a, (_ys)
	dec a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	push af
	ld a, (_ys)
	dec a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	add a, 2
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_ys)
	sub 1
	sbc a, a
	ld h, a
	pop af
	or h
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL17
	ld hl, 2
	push hl
	ld hl, 0
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
	ld a, (_ys)
	dec a
	ld (_ys), a
	ld h, 1
	ld a, (_fs)
	xor h
	ld (_fs), a
	ld h, 0
	ld a, (_ys)
	call __LTI8
	or a
	jp z, __LABEL19
	ld a, 21
	ld (_ys), a
	ld hl, (_yp)
	dec hl
	ld (_yp), hl
	call __LABEL__displaymap01
__LABEL19:
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL17:
	ld de, 4
	ld hl, (_jacum)
	call __BAND16
	push hl
	ld de, 0
	pop hl
	or a
	sbc hl, de
	ld a, h
	or l
	push af
	ld a, (_ys)
	add a, 3
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	push af
	ld a, (_ys)
	add a, 3
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	add a, 2
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _attrpointb
	sub 32
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_ys)
	sub 21
	sub 1
	sbc a, a
	ld h, a
	pop af
	or h
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL21
	ld hl, 2
	push hl
	ld hl, 0
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
	ld a, (_ys)
	inc a
	ld (_ys), a
	ld h, 1
	ld a, (_fs)
	xor h
	ld (_fs), a
	ld a, 21
	ld hl, (_ys - 1)
	call __LTI8
	or a
	jp z, __LABEL23
	xor a
	ld (_ys), a
	ld hl, (_yp)
	inc hl
	ld (_yp), hl
	call __LABEL__displaymap01
__LABEL23:
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL21:
	ld a, (_xs)
	inc a
	sra a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ld e, h
	ld d, h
	push de
	push hl
	ld de, 0
	ld hl, 8
	call __EQ32
	push af
	ld a, (_ys)
	inc a
	sra a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ld e, h
	ld d, h
	push de
	push hl
	ld de, 0
	ld hl, 6
	call __EQ32
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL25
	ld de, 0
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 0
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL27
	ld a, 1
	ld (_kg), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL27:
	ld de, 7
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 0
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL29
	ld a, 1
	ld (_er), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL29:
	ld de, 4
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 1
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL31
	ld a, 1
	ld (_kb), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL31:
	ld de, 3
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 7
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL33
	ld a, 1
	ld (_eb), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL33:
	ld de, 4
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 6
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL35
	ld a, 1
	ld (_kr), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL35:
	ld de, 7
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 7
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL37
	ld a, 1
	ld (_eg), a
	ld hl, 0
	push hl
	ld hl, 2
	push hl
	ld hl, 11
	push hl
	ld hl, 15
	push hl
	call _puttilesprite1
	ld a, (_ds)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_fs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_ys)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xs)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _puttilesprite1
__LABEL37:
__LABEL25:
#line 259
		halt
		halt
		halt
#line 262
	jp __LABEL6
__LABEL7:
	jp __LABEL4
__LABEL5:
__LABEL38:
	jp __LABEL38
__LABEL39:
__LABEL__displaymap01:
	ld hl, 768
	push hl
	ld hl, 32
	push hl
	ld hl, 6144
	push hl
	call _smsfilvrm
	ld hl, 0
	ld (_y0), hl
	jp __LABEL40
__LABEL43:
	ld hl, 0
	ld (_x0), hl
	jp __LABEL45
__LABEL48:
	ld hl, __LABEL__map01
	push hl
	ld hl, (_xp)
	add hl, hl
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld hl, (_x0)
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld hl, (_y0)
	ld de, 16
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld hl, (_yp)
	ld de, 192
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld (_v0), a
	push af
	ld hl, (_y0)
	push hl
	ld hl, (_x0)
	push hl
	call _vpoketiles
__LABEL49:
	ld hl, (_x0)
	inc hl
	ld (_x0), hl
__LABEL45:
	ld hl, 1
	ld de, (_x0)
	or a
	sbc hl, de
	jp nc, __LABEL48
__LABEL47:
__LABEL44:
	ld hl, (_y0)
	inc hl
	ld (_y0), hl
__LABEL40:
	ld hl, 11
	ld de, (_y0)
	or a
	sbc hl, de
	jp nc, __LABEL43
__LABEL42:
	ld de, 0
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 0
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kg)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL51
	ld a, 59
	push af
	ld a, 1
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL51:
	ld de, 7
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 0
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_er)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL53
	ld a, 139
	push af
	xor a
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL53:
	ld de, 4
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 1
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kb)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL55
	ld a, 91
	push af
	ld a, 1
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL55:
	ld de, 3
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 7
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_eb)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL57
	ld a, 91
	push af
	xor a
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL57:
	ld de, 4
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 6
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kr)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL59
	ld a, 139
	push af
	ld a, 1
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL59:
	ld de, 7
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 7
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_eg)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL61
	ld a, 59
	push af
	xor a
	push af
	ld a, 11
	push af
	ld a, 15
	push af
	call _puttilesprite2
__LABEL61:
	ld de, 4
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 4
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kb)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL63
	ld hl, __LABEL__rnblu
	push hl
	ld hl, 22
	push hl
	ld hl, 30
	push hl
	ld hl, 22
	push hl
	ld hl, 1
	push hl
	call _drawdoorrdmatt
__LABEL63:
	ld de, 6
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 1
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kr)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL65
	ld hl, __LABEL__rnred
	push hl
	ld hl, 22
	push hl
	ld hl, 30
	push hl
	ld hl, 1
	push hl
	ld hl, 30
	push hl
	call _drawdoorrdmatt
__LABEL65:
	ld de, 5
	ld hl, (_xp)
	call __EQ16
	push af
	ld de, 7
	ld hl, (_yp)
	call __EQ16
	ld h, a
	pop af
	call __AND8
	push af
	ld a, (_kg)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL67
	ld hl, __LABEL__rngre
	push hl
	ld hl, 22
	push hl
	ld hl, 30
	push hl
	ld hl, 1
	push hl
	ld hl, 30
	push hl
	call _drawdoorrdmatt
__LABEL67:
	ret
__LABEL__displaytitle01:
	ld hl, 768
	push hl
	ld hl, 32
	push hl
	ld hl, 6144
	push hl
	call _smsfilvrm
	ld hl, 0
	ld (_y0), hl
	jp __LABEL68
__LABEL71:
	ld hl, 0
	ld (_x0), hl
	jp __LABEL73
__LABEL76:
	ld a, 255
	push af
	ld hl, (_y0)
	push hl
	ld hl, (_x0)
	push hl
	call _vpoketiles
__LABEL77:
	ld hl, (_x0)
	inc hl
	ld (_x0), hl
__LABEL73:
	ld hl, 1
	ld de, (_x0)
	or a
	sbc hl, de
	jp nc, __LABEL76
__LABEL75:
__LABEL72:
	ld hl, (_y0)
	inc hl
	ld (_y0), hl
__LABEL68:
	ld hl, 11
	ld de, (_y0)
	or a
	sbc hl, de
	jp nc, __LABEL71
__LABEL70:
	ld hl, __LABEL__text01end - __LABEL__text01
	push hl
	ld hl, __LABEL__text01
	push hl
	ld hl, 19
	push hl
	ld hl, 2
	push hl
	call _sg1000writetext
	ld hl, __LABEL__text02end - __LABEL__text02
	push hl
	ld hl, __LABEL__text02
	push hl
	ld hl, 20
	push hl
	ld hl, 2
	push hl
	call _sg1000writetext
	ld hl, __LABEL__text03end - __LABEL__text03
	push hl
	ld hl, __LABEL__text03
	push hl
	ld hl, 22
	push hl
	ld hl, 2
	push hl
	call _sg1000writetext
	ret
__LABEL78:
	jp __LABEL78
__LABEL79:
__LABEL__text01:
#line 345
		defb " H7N9 "
#line 346
__LABEL__text01end:
__LABEL__text02:
#line 350
		defb " PAULO SILVA, '16,'15 "
#line 351
__LABEL__text02end:
__LABEL__text03:
#line 355
		defb " PUSH ANY BUTTON "
#line 356
__LABEL__text03end:
__LABEL__tiles01:
#line 363
		defb $00,$01,$02
		defb $03,$04,$05
		defb $06,$07,$08
		defb $09,$0A,$0B
		defb $0C,$0D,$0E
		defb $0F,$10,$11
		defb $12,$13,$14
		defb $15,$16,$17
		defb $20,$20,$20
		defb $20,$20,$20
		defb $20,$20,$20
#line 374
__LABEL__tiles02:
#line 382
		defb $18,$19
		defb $1A,$1B
		defb $1C,$1D
		defb $1E,$1F
#line 386
__LABEL__rnatr:
__LABEL__rnred:
#line 394
		defb $16,$E6,$18,$F8
#line 395
__LABEL__rngre:
#line 398
		defb $1C,$EC,$12,$F2
#line 399
__LABEL__rnblu:
#line 402
		defb $14,$E4,$15,$F5
#line 403
	ld hl, 0
	ld b, h
	ld c, l
__END_PROGRAM:
	di
	ld hl, (__CALL_BACK__)
	ld sp, hl
	exx
	pop hl
	exx
	pop iy
	pop ix
	ei
	ret
__CALL_BACK__:
	DEFW 0
_smsvdp:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld a, (ix+7)
		out ($bf),a
		ld a, (ix+5)
		or $80
		out ($bf),a
#line 6
_smsvdp__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_smsfilvrm:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld l, (ix+4)
		ld a,l
		out ($bf),a
		ld h, (ix+5)
		ld a,h
		or $40
		out ($bf),a
		ld b, (ix+9)
		ld c, (ix+8)
smsfilvrmloop:
		ld a, (ix+6)
		out ($be),a
		dec bc
		ld a,b
		or c
		jp nz,smsfilvrmloop
#line 17
_smsfilvrm__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_smsldirvm:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld d, (ix+5)
		ld e, (ix+4)
		ld h, (ix+7)
		ld l, (ix+6)
		ld b, (ix+9)
		ld c, (ix+8)
		ld a,e
		out ($bf),a
		ld a,d
		or $40
		out ($bf),a
smsldirvmloop:
		ld a, (hl)
		out ($be),a
		inc hl
		dec bc
		ld a,b
		or c
		jp nz,smsldirvmloop
#line 20
_smsldirvm__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_smsvpoke:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld l, (ix+4)
		ld a,l
		out ($bf),a
		ld h, (ix+5)
		ld a,h
		or $40
		out ($bf),a
		ld a, (ix+6)
		out ($be),a
#line 10
_smsvpoke__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_smsvpeek:
#line 1
		di
		ld a,l
		out ($bf),a
		ld a,h
		out ($bf),a
		in a, ($be)
		ei
#line 8
_smsvpeek__leave:
	ret
_smsrnd:
#line 2
		ld  d, h
		ld  e, l
		ld  a, d
		ld  h, e
		ld  l, 253
		or  a
		sbc  hl, de
		sbc  a, 0
		sbc  hl, de
		ld  d, 0
		sbc  a, d
		ld  e, a
		sbc  hl, de
		jr  nc, smsrndloop
		inc  hl
smsrndloop:
		ret
#line 19
_smsrnd__leave:
	ret
_cvjoypad1a:
#line 1
		ld a,$FF
		out ($C0),a
		nop
		nop
		in a, ($FC)
#line 6
_cvjoypad1a__leave:
	ret
_cvjoypad1b:
#line 13
		ld a,$FF
		out ($80),a
		nop
		nop
		in  a, ($FC)
#line 18
_cvjoypad1b__leave:
	ret
_cvjoypad2a:
#line 25
		ld a,$FF
		out ($C0),a
		nop
		nop
		in  a, ($FE)
#line 30
_cvjoypad2a__leave:
	ret
_cvjoypad2b:
#line 37
		ld a,$FF
		out ($80),a
		nop
		nop
		in  a, ($FE)
#line 42
_cvjoypad2b__leave:
	ret
_smsdelay:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b, (ix+5)
		ld c, (ix+4)
smsdelayloop:
		dec bc
		ld a,b
		or c
		jp nz,smsdelayloop
#line 8
_smsdelay__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_cvsoundio:
	push ix
	ld ix, 0
	add ix, sp
	ld a, (ix+5)
	ld bc, 255
	out (c), a
_cvsoundio__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_sg1000putchar:
	push ix
	ld ix, 0
	add ix, sp
	ld a, (ix+9)
	ld l, a
	ld h, 0
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 6144
	add hl, de
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _smsvpoke
_sg1000putchar__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_sg1000writetext:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+10)
	ld h, (ix+11)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	ld de, 6144
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _smsldirvm
_sg1000writetext__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_puttilesprite1:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 3
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, 12
	call __MUL16_FAST
	ex de, hl
	ld hl, __LABEL__tiles01
	add hl, de
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	ld de, 6144
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _smsldirvm
	ld hl, 3
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, 12
	call __MUL16_FAST
	ex de, hl
	ld hl, __LABEL__tiles01 + 3
	add hl, de
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	ld de, 6144
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	ld de, 32
	add hl, de
	push hl
	call _smsldirvm
	ld hl, 3
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, 12
	call __MUL16_FAST
	ex de, hl
	ld hl, __LABEL__tiles01 + 6
	add hl, de
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	ld de, 3
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	ld de, 6144
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	ld de, 64
	add hl, de
	push hl
	call _smsldirvm
_puttilesprite1__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_puttilesprite2:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 2
	push hl
	ld a, (ix+9)
	add a, a
	add a, a
	ld l, a
	ld h, 0
	ex de, hl
	ld hl, __LABEL__tiles02
	add hl, de
	push hl
	ld a, (ix+7)
	ld h, 32
	call __MUL8_FAST
	ld l, a
	ld h, 0
	ld de, 6144
	add hl, de
	push hl
	ld a, (ix+5)
	ld l, a
	ld h, 0
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _smsldirvm
	ld hl, 2
	push hl
	ld a, (ix+9)
	add a, a
	add a, a
	ld l, a
	ld h, 0
	ex de, hl
	ld hl, __LABEL__tiles02 + 2
	add hl, de
	push hl
	ld a, (ix+7)
	ld h, 32
	call __MUL8_FAST
	ld l, a
	ld h, 0
	ld de, 6144
	add hl, de
	push hl
	ld a, (ix+5)
	ld l, a
	ld h, 0
	ex de, hl
	pop hl
	add hl, de
	ld de, 32
	add hl, de
	push hl
	call _smsldirvm
	ld a, (ix+11)
	ld l, a
	ld h, 0
	push hl
	ld hl, 8195
	push hl
	call _smsvpoke
_puttilesprite2__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_vpoketiles:
	push ix
	ld ix, 0
	add ix, sp
	ld a, 128
	ld (_tlq1), a
	xor a
	ld (_tlb1), a
	jp __LABEL80
__LABEL83:
	ld a, (ix+9)
	ld h, a
	ld a, (_tlq1)
	and h
	or a
	jp z, __LABEL86
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 127
	ld hl, (_seed)
	call __BAND16
	ld de, 128
	add hl, de
	ld a, l
	push af
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 16
	call __MUL16_FAST
	push hl
	ld a, (_tlb1)
	add a, a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _sg1000putchar
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 127
	ld hl, (_seed)
	call __BAND16
	ld de, 128
	add hl, de
	ld a, l
	push af
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 16
	call __MUL16_FAST
	push hl
	ld a, (_tlb1)
	add a, a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ex de, hl
	pop hl
	add hl, de
	inc hl
	push hl
	call _sg1000putchar
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 127
	ld hl, (_seed)
	call __BAND16
	ld de, 128
	add hl, de
	ld a, l
	push af
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	inc hl
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 16
	call __MUL16_FAST
	push hl
	ld a, (_tlb1)
	add a, a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _sg1000putchar
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 127
	ld hl, (_seed)
	call __BAND16
	ld de, 128
	add hl, de
	ld a, l
	push af
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	inc hl
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 16
	call __MUL16_FAST
	push hl
	ld a, (_tlb1)
	add a, a
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	ex de, hl
	pop hl
	add hl, de
	inc hl
	push hl
	call _sg1000putchar
__LABEL86:
	ld a, (_tlq1)
	srl a
	ld (_tlq1), a
__LABEL84:
	ld a, (_tlb1)
	inc a
	ld (_tlb1), a
__LABEL80:
	ld a, 7
	ld hl, (_tlb1 - 1)
	call __LTI8
	or a
	jp z, __LABEL83
__LABEL82:
_vpoketiles__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_drawdoor:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 4
	push hl
	ld a, (ix+13)
	ld l, a
	ld h, 0
	push hl
	ld hl, 8204
	push hl
	call _smsldirvm
	ld l, (ix+6)
	ld h, (ix+7)
	ld (_ltyq), hl
	jp __LABEL87
__LABEL90:
	ld l, (ix+4)
	ld h, (ix+5)
	ld (_ltxq), hl
	jp __LABEL92
__LABEL95:
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 31
	ld hl, (_seed)
	call __BAND16
	ld de, 96
	add hl, de
	ld a, l
	push af
	ld hl, (_ltyq)
	push hl
	ld hl, (_ltxq)
	push hl
	call _sg1000putchar
__LABEL96:
	ld hl, (_ltxq)
	inc hl
	ld (_ltxq), hl
__LABEL92:
	ld l, (ix+8)
	ld h, (ix+9)
	ld de, (_ltxq)
	or a
	sbc hl, de
	jp nc, __LABEL95
__LABEL94:
__LABEL91:
	ld hl, (_ltyq)
	inc hl
	ld (_ltyq), hl
__LABEL87:
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, (_ltyq)
	or a
	sbc hl, de
	jp nc, __LABEL90
__LABEL89:
_drawdoor__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_drawdoorrdmatt:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+6)
	ld h, (ix+7)
	ld (_ltyq), hl
	jp __LABEL97
__LABEL100:
	ld l, (ix+4)
	ld h, (ix+5)
	ld (_ltxq), hl
	jp __LABEL102
__LABEL105:
	ld hl, (_seed)
	call _smsrnd
	ld (_seed), hl
	ld de, 31
	ld hl, (_seed)
	call __BAND16
	ld de, 96
	add hl, de
	ld a, l
	push af
	ld hl, (_ltyq)
	push hl
	ld hl, (_ltxq)
	push hl
	call _sg1000putchar
__LABEL106:
	ld hl, (_ltxq)
	inc hl
	ld (_ltxq), hl
__LABEL102:
	ld l, (ix+8)
	ld h, (ix+9)
	ld de, (_ltxq)
	or a
	sbc hl, de
	jp nc, __LABEL105
__LABEL104:
__LABEL101:
	ld hl, (_ltyq)
	inc hl
	ld (_ltyq), hl
__LABEL97:
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, (_ltyq)
	or a
	sbc hl, de
	jp nc, __LABEL100
__LABEL99:
_drawdoorrdmatt__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_attrpoint:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	ld de, 6144
	add hl, de
	call _smsvpeek
_attrpoint__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_attrpointb:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	ld de, 6144
	add hl, de
	call _smsvpeek
	push af
	ld h, 248
	pop af
	and h
_attrpointb__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
#line 1 "mul16.asm"
__MUL16:	; Mutiplies HL with the last value stored into de stack
				; Works for both signed and unsigned
	
			PROC
	
			LOCAL __MUL16LOOP
	        LOCAL __MUL16NOADD
			
			ex de, hl
			pop hl		; Return address
			ex (sp), hl ; CALLEE caller convention
	
;;__MUL16_FAST:	; __FASTCALL ENTRY: HL = 1st operand, DE = 2nd Operand
	;;		ld c, h
	;;		ld a, l	 ; C,A => 1st Operand
	;;
	;;		ld hl, 0 ; Accumulator
	;;		ld b, 16
	;;
;;__MUL16LOOP:
	;;		sra c	; C,A >> 1  (Arithmetic)
	;;		rra
	;;
	;;		jr nc, __MUL16NOADD
	;;		add hl, de
	;;
;;__MUL16NOADD:
	;;		sla e
	;;		rl d
	;;			
	;;		djnz __MUL16LOOP
	
__MUL16_FAST:
	        ld b, 16
	        ld a, d
	        ld c, e
	        ex de, hl
	        ld hl, 0
	
__MUL16LOOP:
	        add hl, hl  ; hl << 1
	        sla c
	        rla         ; a,c << 1
	        jp nc, __MUL16NOADD
	        add hl, de
	
__MUL16NOADD:
	        djnz __MUL16LOOP
	
			ret	; Result in hl (16 lower bits)
	
			ENDP
	
#line 2994 "h7n9.bas"
#line 1 "mul8.asm"
__MUL8:		; Performs 8bit x 8bit multiplication
		PROC
	
		;LOCAL __MUL8A
		LOCAL __MUL8LOOP
		LOCAL __MUL8B
				; 1st operand (byte) in A, 2nd operand into the stack (AF)
		pop hl	; return address
		ex (sp), hl ; CALLE convention
	
;;__MUL8_FAST: ; __FASTCALL__ entry
	;;	ld e, a
	;;	ld d, 0
	;;	ld l, d
	;;	
	;;	sla h	
	;;	jr nc, __MUL8A
	;;	ld l, e
	;;
;;__MUL8A:
	;;
	;;	ld b, 7
;;__MUL8LOOP:
	;;	add hl, hl
	;;	jr nc, __MUL8B
	;;
	;;	add hl, de
	;;
;;__MUL8B:
	;;	djnz __MUL8LOOP
	;;
	;;	ld a, l ; result = A and HL  (Truncate to lower 8 bits)
	
__MUL8_FAST: ; __FASTCALL__ entry, a = a * h (8 bit mul) and Carry
	
	    ld b, 8
	    ld l, a
	    xor a
	
__MUL8LOOP:
	    add a, a ; a *= 2
	    sla l
	    jp nc, __MUL8B
	    add a, h
	
__MUL8B:
	    djnz __MUL8LOOP
		
		ret		; result = HL
		ENDP
	
#line 2995 "h7n9.bas"
#line 1 "and8.asm"
	; FASTCALL boolean and 8 version.
	; result in Accumulator (0 False, not 0 True)
; __FASTCALL__ version (operands: A, H)
	; Performs 8bit and 8bit and returns the boolean
	
__AND8:
		or a
		ret z
		ld a, h
		ret 
	
#line 2996 "h7n9.bas"
#line 1 "lti8.asm"
	
__LTI8: ; Test 8 bit values A < H
        ; Returns result in A: 0 = False, !0 = True
	        sub h
	
__LTI:  ; Signed CMP
	        PROC
	        LOCAL __PE
	
	        ld a, 0  ; Sets default to false
__LTI2:
	        jp pe, __PE
	        ; Overflow flag NOT set
	        ret p
	        dec a ; TRUE
	
__PE:   ; Overflow set
	        ret m
	        dec a ; TRUE
	        ret
	        
	        ENDP
#line 2997 "h7n9.bas"
#line 1 "eq16.asm"
__EQ16:	; Test if 16bit values HL == DE
		; Returns result in A: 0 = False, FF = True
			or a	; Reset carry flag
			sbc hl, de 
	
			ld a, h
			or l
			sub 1  ; sets carry flag only if a = 0
			sbc a, a
			
			ret
	
#line 2998 "h7n9.bas"
#line 1 "band16.asm"
; vim:ts=4:et:
	; FASTCALL bitwise and16 version.
	; result in hl 
; __FASTCALL__ version (operands: A, H)
	; Performs 16bit or 16bit and returns the boolean
; Input: HL, DE
; Output: HL <- HL AND DE
	
__BAND16:
		ld a, h
		and d
	    ld h, a
	
	    ld a, l
	    and e
	    ld l, a
	
	    ret 
	
#line 2999 "h7n9.bas"
#line 1 "eq32.asm"
__EQ32:	; Test if 32bit value HLDE equals top of the stack
		; Returns result in A: 0 = False, FF = True
			exx
			pop bc ; Return address
			exx
	
			or a	; Reset carry flag
			pop bc
			sbc hl, bc ; Low part
			ex de, hl 
			pop bc
			sbc hl, bc ; Hight part
	
			exx
			push bc ; CALLEE
			exx
	
			ld a, h
			or l
			or d
			or e   ; a = 0 only if HLDE = 0
			sub 1  ; sets carry flag only if a = 0
			sbc a, a
			
			ret
	
#line 3000 "h7n9.bas"
	
ZXBASIC_USER_DATA:
	_seed EQU 28688
	_jacum EQU 28690
	_x0 EQU 28692
	_y0 EQU 28694
	_xl EQU 28696
	_yl EQU 28698
	_ltyq EQU 28700
	_ltxq EQU 28702
	_xp EQU 28704
	_yp EQU 28706
	_vl EQU 28708
	_debug EQU 28710
	_tlq1 EQU 28711
	_v0 EQU 28712
	_cn0 EQU 28713
	_cn1 EQU 28714
	_cn2 EQU 28715
	_kr EQU 28716
	_kg EQU 28717
	_kb EQU 28718
	_er EQU 28719
	_eg EQU 28720
	_eb EQU 28721
	_tlb1 EQU 28722
	_xs EQU 28723
	_ys EQU 28724
	_ds EQU 28725
	_fs EQU 28726
	_boolbf EQU 28727
	; Defines DATA END --> HEAP size is 0
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
	; Defines USER DATA Length in bytes
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
	END
